<!DOCTYPE pif SYSTEM "http://www.xmls.com/pif/pif.dtd">
<!-- this example based on http://ccs.mit.edu/pif8.html -->
<!-- also see http://www.xmls.com/pif/ -->
<pif>
<!-- Project and team definitions -->
<activity id="EXAMPLE-PROJECT">
<documentation>A project is the top level activity of this activity elaboration hierarchy. The component attribute lists the subactivities of the project.</documentation>
<name>The Example Project Process</name>
<component href="ARCHITECTURE-DESIGN-1"/>
<component href="ELECTRICAL-DESIGN-2"/>
<component href="MECHANICAL-DESIGN-3"/>
<component href="DESIGN-REVIEW-4"/>
</activity>
<agent id="DESIGN-TEAM-1">
<documentation>A project team is composed of AGENTS, which as a whole can be viewed as an AGENT itself.</documentation>
<name>Project Design Team</name>
<component href="ARCHITECT-1"/>
<component href="ELECTRICAL-ENGINEER-2"/>
<component href="MECHANICAL-ENGINEER-3"/>
<component href="PROJECT-MANAGER-4"/>
</agent>
<performs id="TEAM-PERFORMS-PROJECT">
<actor href="DESIGN-TEAM-1"/>
<activity-ref href="EXAMPLE-PROJECT"/>
</performs>
<!-- Architectural design and Architect-1 -->
<activity id="ARCHITECTURE-DESIGN-1">
<documentation>This is the first activity of the example project. It starts when a contract is made. It produces an architectural design which will be followed by electrical and mechanical design.</documentation>
<documentation>The end TIMEPOINT of the ARCHITECTURE-DESIGN-1 activity, among other things.</documentation>
<name>End Timepoint for Architecture Design</name>
</timepoint>
<agent id="ARCHITECT-1">
<name>Robert Callahan</name>
<capability href="ARCHITECTURE-SKILL"/>
</agent>
<performs id="PERFORMS-1">
<actor href="ARCHITECT-1"/>
<activity-ref href="ARCHITECTURE-DESIGN-1"/>
</performs>
<!-- Electrical Design and Electrical-Engineer-2 -->
<activity id="ELECTRICAL-DESIGN-2">
<documentation>This is the second activity of the project. This activity can begin only after ARCHITECTURE-DESIGN-1 is completed. It can (but does not necessarily) occur in parallel with MECHANICAL-DESIGN-3.</documentation>
<documentation>This engineer has two skills, one is electrical and the other is mechanical. She is responsible for both electrical design and design review.</documentation>
<name>Cristina Marconi</name>
<capability href="ELECTRICAL-SKILL"/>
<capability href="MECHANICAL-SKILL"/>
</agent>
<performs id="PERFORMS-2">
<actor href="ELECTRICAL-ENGINEER-2"/>
<activity-ref href="ELECTRICAL-DESIGN-2"/>
</performs>
<!-- Mechanical Design Mechanical-Engineer-3 -->
<decision id="IF-ARCHITECTURE-DESIGN-1-DELAYED">
<documentation>The activity that decides what to do after checking if ARCHITECTURE-DESIGN-1 is delayed or not.</documentation>
<documentation>The begin timepoint of the IF-ARCHITECTURE-DESIGN-DELAYED activity</documentation>
<name>Begin Timepoint for IF-ARCHITECTURE-DESIGN-DELAYED</name>
</timepoint>
<activity id="MECHANICAL-DESIGN-3">
<documentation>This activity can begin only if ARCHITECTURE-DESIGN-1 is completed in time. It can (but not necessarily) occur in parallel with ELECTRICAL-DESIGN-2.</documentation>
<documentation>The End timepoint of the MECHANICAL-DESIGN-3 activity, among other things</documentation>
<name>End Timepoint for Mechanical Design 3</name>
</timepoint>
<activity id="MECHANICAL-DESIGN-4">
<documentation>This activity can begin only if ARCHITECTURE-DESIGN-1 is delayed. It can (but not necessarily) occur in parallel with ELECTRICAL-DESIGN-2.</documentation>
<!--Nobody has been assigned yet to the MECHANICAL-DESIGN-4, but whoever does it has to have the special-mechanical-skill-1. -->
<performs id="PERFORMS-4">
<activity-ref href="MECHANICAL-DESIGN-4"/>
<constraint language="JavaScript">
<!-- script should go here -->
?SELF.Actor.Capability SPECIAL-MECHANICAL-SKILL-1
<!-- the question remains how to best create PIF-SENTENCES in XML -->
</constraint>
</performs>
<!-- Design Review and Project Manager -->
<activity id="DESIGN-REVIEW-5">
<documentation>This is the last activity of the project. This activity can begin only after both ELECTRICAL-DESIGN-2 and MECHANICAL-DESIGN-3 (or MECHANICAL-DESIGN-4) are completed. It has four responsible AGENTs, and this activity can be viewed as a design-review meeting. All team members must participate.</documentation>
<name>Design Review</name>
<begin href="DESIGN-REVIEW-5-BEGIN-TIMEPOINT"/>
</activity>
<timepoint id="DESIGN-REVIEW-5-BEGIN-TIMEPOINT">
<documentation>The Begin timepoint of the DESIGN-REVIEW-5 activity, among other things</documentation>
<documentation>This AGENT is the manager of this project. She is responsible for decision-making whenever a exception occurs during the process of the project. She is also co-responsible for the design-review activity.</documentation>